﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace WcfService
{
    // 注意: 使用“重构”菜单上的“重命名”命令，可以同时更改代码和配置文件中的接口名“IService1”。
    [ServiceContract]
    public interface IService
    {
        [OperationContract]
        string GetData(int value);

        [OperationContract]
        CompositeType GetDataUsingDataContract(CompositeType composite);

        // TODO: 在此添加您的服务操作
        [OperationContract]
        string GetRTData();

        /// <summary>
        /// 心电波形数据存库
        /// </summary>
        /// <param name="str">str</param>
        /// <returns>心电波形数据</returns>
        [OperationContract]
        string MapAdd(string str);

        /// <summary>
        /// 返回今天创建的病人数量
        /// </summary>
        /// <returns>创建的病人数量</returns>
        [OperationContract]
        int ThisDayPatCount();

        /// <summary>
        /// 根据采样率   查询最新一秒的数据
        /// </summary>
        /// <param name="samp">samp</param>
        /// <param name="patid">patid</param>
        /// <returns>最新一秒的数据</returns>
        [OperationContract]
        string NowTime_SampData(int samp, string patid);

        /// <summary>
        /// MapData
        /// </summary>
        /// <param name="outtime">outtime</param>
        /// <param name="samp">samp</param>
        /// <param name="patid">病人ID</param>
        /// <returns>左侧波形数据</returns>
        [OperationContract]
        string MapData(int outtime, int samp, string patid);

        /// <summary>
        /// 病人信息列表查询
        /// </summary>
        /// <returns>病人信息列表</returns>
        [OperationContract]
        string DataPatShow();

        /// <summary>
        /// 事件回顾信息查询
        /// </summary>
        /// <returns>事件回顾信息</returns>
        [OperationContract]
        string DataPatShow1();

        /// <summary>
        /// Alarm
        /// </summary>
        /// <returns>报警</returns>
        [OperationContract]
        string Alarm();
    }

    // 使用下面示例中说明的数据约定将复合类型添加到服务操作。
    // 可以将 XSD 文件添加到项目中。在生成项目后，可以通过命名空间“WcfService.ContractType”直接使用其中定义的数据类型。
    [DataContract]
    public class CompositeType
    {
        /// <summary>
        /// BoolValue
        /// </summary>
        [DataMember]
        public bool BoolValue { get; set; } = true;

        /// <summary>
        /// StringValue
        /// </summary>
        [DataMember]
        public string StringValue { get; set; } = "Hello ";
    }
}
